package cn.ctbu.xiaopeng.studentscoremanage.utils;

/**
 * @author xiaopeng
 * @version 1.0
 */
public class UserContextHolder {

    // ThreadLocal 用于存储每个线程独立的用户 ID
    private static final ThreadLocal<String> userNameThreadLocal = new ThreadLocal<>();

    /**
     * 保存用户 ID 到当前线程
     * @param userId 用户 ID
     */
    public static void setUserName(String userId) {
        userNameThreadLocal.set(userId);
    }

    /**
     * 从当前线程获取用户 ID
     * @return 用户 ID
     */
    public static String getUserName() {
        return userNameThreadLocal.get();
    }

    /**
     * 清除当前线程的用户 ID
     */
    public static void clear() {
        userNameThreadLocal.remove();
    }
}

